package com.wsc.juc_001.c_000;

import java.util.concurrent.Executor;
import java.util.concurrent.Executors;

/**
 * 实现线程的三种方式
 * 1.继承extend，重写run方法
 * 2.实现Runnable接口，重写run方法
 * 3.匿名内部类实现 lambda表达式
 */
public class HowToCreateThread_02 {
    static class MyThread extends Thread{
        public void run(){
            System.out.println("MyThread");
        }
    }

    static class MyRun implements Runnable{
        @Override
        public void run() {
            System.out.println("MyRun");
        }
    }

    public static void main(String[] args) {
        new MyThread().start();
        new Thread(new MyRun()).start();
        new Thread(()->{
            System.out.println("thread");
        }).start();
    }
}

/**
 * 启动线程的方式：
 * 1.继承extend
 * 2.实现Runnable
 * 3.线程池 Executors.newCachedThreadPool 但是启用线程池也是调用前面两种启动的
 */